Skip to content

OCPBUGS-60936:fix(hccp): remove immutable field from kubeletconfigmap - #6726

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
Tal-or:kubeletconfig_remove_immutable
Mar 2, 2026
Merged

OCPBUGS-60936:fix(hccp): remove immutable field from kubeletconfigmap#6726
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
Tal-or:kubeletconfig_remove_immutable

Conversation

@Tal-or

@Tal-or Tal-or commented Aug 31, 2025

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:
When kubeletconfig is changing due to manual user changes, or due to performance profile changes, hccp should catch up and mirror the changes to the hosted cluster.

When setting the kubeletconfig configmap as immutable, the controller failed to update the configmap with the following error: ConfigMap "<config-map-name>" is invalid: data: Forbidden: field is immutable when immutable is set.

Setting the ConfigMap as immutable was redundant because in case of undesired change, hccp will reconcile the ConfigMap and update it to its desired state, so it's safe to remove it.

NOTE: It’s still possible for the ConfigMap on the hosted cluster side to be tampered with, but accepting this small risk is a reasonable trade-off to ensure the system functions correctly.

Which issue(s) this PR fixes
Fixes # OCPBUGS-60936

Checklist

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.

Summary by CodeRabbit

  • New Features

    • Kubelet configuration updates now propagate to hosted clusters without requiring ConfigMap recreation, simplifying updates and day‑2 operations.
  • Bug Fixes

    • Removed an immutability restriction on the hosted KubeletConfig mirror so updates can be applied smoothly during cluster lifecycle, reducing operational friction and update failures.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 31, 2025
@openshift-ci-robot

Copy link
Copy Markdown

@Tal-or: This pull request references Jira Issue OCPBUGS-60936, which is invalid:

  • expected the bug to target the "4.20.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

What this PR does / why we need it:
When kubeletconfig is changning due to manual user changes, or due to performance profile changes, hccp should catch up and mirror the changes to the hosted cluster.

When setting the kubeletconfig configmap as immutable, the controller failed to update the configmap with the following error: ConfigMap "<config-map-name>" is invalid: data: Forbidden: field is immutable when immutable is set.

Setting the ConfigMap as immutable was redundant because in case of undesired change, hccp will reconcile the ConfigMap and update it to its desired state, so it's safe to remove it.

NOTE: It’s still possible for the ConfigMap on the hosted cluster side to be tampered with, but accepting this small risk is a reasonable trade-off to ensure the system functions correctly.

Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes # OCPBUGS-60936

Checklist

  • [ X ] Subject and description added to both, commit and PR.
  • [ X ] Relevant issues have been referenced.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Aug 31, 2025
@coderabbitai

coderabbitai Bot commented Aug 31, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

The mutateKubeletConfig function no longer sets the hosted KubeletConfig mirror ConfigMap as immutable; it still merges labels and copies data from the control-plane ConfigMap and returns the updated object.

Changes

Cohort / File(s) Summary
KubeletConfig ConfigMap mutability
control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources.go
Removed the line hostedClusterConfigMap.Immutable = ptr.To(true) in mutateKubeletConfig, allowing the mirrored ConfigMap to remain mutable. Label merge and data copy logic unchanged.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Reconciler
  participant Resources as Resources.mutateKubeletConfig
  participant CPConfig as ControlPlane ConfigMap
  participant HostedConfig as Hosted ConfigMap (mirrored)

  Reconciler->>Resources: mutateKubeletConfig()
  Resources->>CPConfig: Read labels & data
  Resources->>HostedConfig: Merge labels, copy data
  note right of HostedConfig #DFF2E1: Immutable flag not set (mutable)
  Resources-->>Reconciler: Return updated Hosted ConfigMap
Loading
sequenceDiagram
  autonumber
  actor Reconciler
  participant ResourcesPrev as Resources.mutateKubeletConfig (previous)
  participant HostedConfigPrev as Hosted ConfigMap

  Reconciler->>ResourcesPrev: mutateKubeletConfig()
  ResourcesPrev->>HostedConfigPrev: Set `Immutable = true`
  note right of HostedConfigPrev #FDE2E2: Previous behavior prevented future mutations
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

jira/valid-bug, jira/valid-reference

Suggested reviewers

  • enxebre
  • csrwng

Poem

I nudged a map, the latch undone,
No iron lock to stop the sun.
Labels mingle, bytes set free,
A tiny hop — ConfigMap glee.
— 🐇


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 13539c4 and abda02b.

📒 Files selected for processing (1)
  • control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources.go (0 hunks)
💤 Files with no reviewable changes (1)
  • control-plane-operator/hostedclusterconfigoperator/controllers/resources/resources.go
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@openshift-ci
openshift-ci Bot requested review from csrwng and enxebre August 31, 2025 10:00
@openshift-ci openshift-ci Bot added area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release and removed do-not-merge/needs-area labels Aug 31, 2025
@Tal-or

Tal-or commented Aug 31, 2025

Copy link
Copy Markdown
Contributor Author

/jira-refresh

@Tal-or

Tal-or commented Aug 31, 2025

Copy link
Copy Markdown
Contributor Author

/jira refresh

@openshift-ci-robot openshift-ci-robot added the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Aug 31, 2025
@openshift-ci-robot

Copy link
Copy Markdown

@Tal-or: This pull request references Jira Issue OCPBUGS-60936, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.20.0) matches configured target version for branch (4.20.0)
  • bug is in the state New, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @mrniranjan

Details

In response to this:

/jira refresh

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot removed the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Aug 31, 2025
@openshift-ci
openshift-ci Bot requested a review from mrniranjan August 31, 2025 10:02
@openshift-ci-robot

Copy link
Copy Markdown

@Tal-or: This pull request references Jira Issue OCPBUGS-60936, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.20.0) matches configured target version for branch (4.20.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @mrniranjan

Details

In response to this:

What this PR does / why we need it:
When kubeletconfig is changning due to manual user changes, or due to performance profile changes, hccp should catch up and mirror the changes to the hosted cluster.

When setting the kubeletconfig configmap as immutable, the controller failed to update the configmap with the following error: ConfigMap "<config-map-name>" is invalid: data: Forbidden: field is immutable when immutable is set.

Setting the ConfigMap as immutable was redundant because in case of undesired change, hccp will reconcile the ConfigMap and update it to its desired state, so it's safe to remove it.

NOTE: It’s still possible for the ConfigMap on the hosted cluster side to be tampered with, but accepting this small risk is a reasonable trade-off to ensure the system functions correctly.

Which issue(s) this PR fixes
Fixes # OCPBUGS-60936

Checklist

  • [ X ] Subject and description added to both, commit and PR.
  • [ X ] Relevant issues have been referenced.

Summary by CodeRabbit

  • New Features
  • Kubelet configuration updates now propagate without requiring ConfigMap recreation, improving day-2 manageability.
  • Bug Fixes
  • Removed unintended immutability on the hosted KubeletConfig ConfigMap mirror, allowing changes to be applied smoothly during the cluster lifecycle.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@cwbotbot

cwbotbot commented Aug 31, 2025

Copy link
Copy Markdown

Test Results

e2e-aws

e2e-aks

@Tal-or
Tal-or force-pushed the kubeletconfig_remove_immutable branch from f78a7e2 to ba90992 Compare August 31, 2025 14:17
@Tal-or Tal-or changed the title OCPBUGS-60936: hccp: remove immutable field from kubeletconfigmap fix: OCPBUGS-60936: hccp: remove immutable field from kubeletconfigmap Aug 31, 2025
@Tal-or Tal-or changed the title fix: OCPBUGS-60936: hccp: remove immutable field from kubeletconfigmap fix:OCPBUGS-60936:hccp: remove immutable field from kubeletconfigmap Aug 31, 2025
@openshift-ci-robot

Copy link
Copy Markdown

@Tal-or: This pull request references Jira Issue OCPBUGS-60936, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.20.0) matches configured target version for branch (4.20.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @mrniranjan

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

What this PR does / why we need it:
When kubeletconfig is changning due to manual user changes, or due to performance profile changes, hccp should catch up and mirror the changes to the hosted cluster.

When setting the kubeletconfig configmap as immutable, the controller failed to update the configmap with the following error: ConfigMap "<config-map-name>" is invalid: data: Forbidden: field is immutable when immutable is set.

Setting the ConfigMap as immutable was redundant because in case of undesired change, hccp will reconcile the ConfigMap and update it to its desired state, so it's safe to remove it.

NOTE: It’s still possible for the ConfigMap on the hosted cluster side to be tampered with, but accepting this small risk is a reasonable trade-off to ensure the system functions correctly.

Which issue(s) this PR fixes
Fixes # OCPBUGS-60936

Checklist

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.

Summary by CodeRabbit

  • New Features

  • Kubelet configuration changes now propagate to hosted clusters without needing ConfigMap recreation, easing day‑2 operations.

  • Bug Fixes

  • Removed an unintended immutability restriction on the hosted KubeletConfig mirror so updates can be applied smoothly during cluster lifecycle.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@Tal-or

Tal-or commented Sep 3, 2025

Copy link
Copy Markdown
Contributor Author

/retest

@openshift-ci-robot openshift-ci-robot removed the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Sep 3, 2025
@openshift-ci-robot

Copy link
Copy Markdown

@Tal-or: This pull request references Jira Issue OCPBUGS-60936, which is invalid:

  • expected the bug to target either version "4.21." or "openshift-4.21.", but it targets "4.20" instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

Details

In response to this:

What this PR does / why we need it:
When kubeletconfig is changning due to manual user changes, or due to performance profile changes, hccp should catch up and mirror the changes to the hosted cluster.

When setting the kubeletconfig configmap as immutable, the controller failed to update the configmap with the following error: ConfigMap "<config-map-name>" is invalid: data: Forbidden: field is immutable when immutable is set.

Setting the ConfigMap as immutable was redundant because in case of undesired change, hccp will reconcile the ConfigMap and update it to its desired state, so it's safe to remove it.

NOTE: It’s still possible for the ConfigMap on the hosted cluster side to be tampered with, but accepting this small risk is a reasonable trade-off to ensure the system functions correctly.

Which issue(s) this PR fixes
Fixes # OCPBUGS-60936

Checklist

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.

Summary by CodeRabbit

  • New Features

  • Kubelet configuration changes now propagate to hosted clusters without needing ConfigMap recreation, easing day‑2 operations.

  • Bug Fixes

  • Removed an unintended immutability restriction on the hosted KubeletConfig mirror so updates can be applied smoothly during cluster lifecycle.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. label Sep 3, 2025
@Tal-or Tal-or changed the title fix:OCPBUGS-60936:hccp: remove immutable field from kubeletconfigmap fix(OCPBUGS-60936)hccp: remove immutable field from kubeletconfigmap Sep 3, 2025
@openshift-ci-robot openshift-ci-robot removed jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Sep 3, 2025
@openshift-ci-robot

Copy link
Copy Markdown

@Tal-or: No Jira issue is referenced in the title of this pull request.
To reference a jira issue, add 'XYZ-NNN:' to the title of this pull request and request another refresh with /jira refresh.

Details

In response to this:

What this PR does / why we need it:
When kubeletconfig is changning due to manual user changes, or due to performance profile changes, hccp should catch up and mirror the changes to the hosted cluster.

When setting the kubeletconfig configmap as immutable, the controller failed to update the configmap with the following error: ConfigMap "<config-map-name>" is invalid: data: Forbidden: field is immutable when immutable is set.

Setting the ConfigMap as immutable was redundant because in case of undesired change, hccp will reconcile the ConfigMap and update it to its desired state, so it's safe to remove it.

NOTE: It’s still possible for the ConfigMap on the hosted cluster side to be tampered with, but accepting this small risk is a reasonable trade-off to ensure the system functions correctly.

Which issue(s) this PR fixes
Fixes # OCPBUGS-60936

Checklist

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.

Summary by CodeRabbit

  • New Features

  • Kubelet configuration changes now propagate to hosted clusters without needing ConfigMap recreation, easing day‑2 operations.

  • Bug Fixes

  • Removed an unintended immutability restriction on the hosted KubeletConfig mirror so updates can be applied smoothly during cluster lifecycle.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@Tal-or
Tal-or force-pushed the kubeletconfig_remove_immutable branch from ba90992 to 13539c4 Compare September 3, 2025 14:28
@Tal-or

Tal-or commented Oct 23, 2025

Copy link
Copy Markdown
Contributor Author

Hi @csrwng
PTAL
Thanks!

@mrniranjan

Copy link
Copy Markdown

/verified by @mrniranjan

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Oct 29, 2025
@openshift-ci-robot

Copy link
Copy Markdown

@mrniranjan: This PR has been marked as verified by @mrniranjan.

Details

In response to this:

/verified by @mrniranjan

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@yanirq

yanirq commented Feb 3, 2026

Copy link
Copy Markdown

this is still waiting for final approval from @csrwng . Do we need a revisit here ? cc @Tal-or

@Tal-or

Tal-or commented Feb 3, 2026

Copy link
Copy Markdown
Contributor Author

this is still waiting for final approval from @csrwng . Do we need a revisit here ? cc @Tal-or

It's needed and we're still waiting for approval

@csrwng

csrwng commented Feb 10, 2026

Copy link
Copy Markdown
Contributor

/approve

@csrwng

csrwng commented Feb 10, 2026

Copy link
Copy Markdown
Contributor

/approve cancel

@csrwng csrwng left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one comment

When kubeletconfig is changing due to manual user changes, or due to performance
profile changes, hccp should catch up and mirror the changes to the hosted cluster.

When setting the kubeletconfig configmap as immutable, the controller
failed to update the configmap with the following error:
`ConfigMap "<config-map-name>" is invalid: data: Forbidden: field is immutable when `immutable` is set`.

Setting the ConfigMap as immutable was redundant because in case of
undesired change, hccp will reconcile the ConfigMap and update it to its
desired state, so it's safe to remove it.

NOTE: It’s still possible for the ConfigMap on the hosted cluster side to be tampered with,
but accepting this small risk is a reasonable trade-off to ensure the system functions correctly.

Signed-off-by: Talor Itzhak <titzhak@redhat.com>
@Tal-or
Tal-or force-pushed the kubeletconfig_remove_immutable branch from abda02b to bbd8f63 Compare February 25, 2026 14:19
@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Feb 25, 2026
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label Feb 25, 2026
@Tal-or

Tal-or commented Feb 25, 2026

Copy link
Copy Markdown
Contributor Author

/hold cancel

@openshift-ci openshift-ci Bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 25, 2026
@csrwng

csrwng commented Feb 25, 2026

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci

openshift-ci Bot commented Feb 25, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: csrwng, Tal-or

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 25, 2026
@jparrill

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Feb 26, 2026
@openshift-ci-robot

Copy link
Copy Markdown

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aks
/test e2e-aws
/test e2e-aws-upgrade-hypershift-operator
/test e2e-kubevirt-aws-ovn-reduced
/test e2e-v2-aws

@Tal-or

Tal-or commented Mar 1, 2026

Copy link
Copy Markdown
Contributor Author

/retest

@Tal-or

Tal-or commented Mar 2, 2026

Copy link
Copy Markdown
Contributor Author

/verified by @Tal-or

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Mar 2, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@Tal-or: This PR has been marked as verified by @Tal-or.

Details

In response to this:

/verified by @Tal-or

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci

openshift-ci Bot commented Mar 2, 2026

Copy link
Copy Markdown
Contributor

@Tal-or: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot
openshift-merge-bot Bot merged commit cce0243 into openshift:main Mar 2, 2026
23 checks passed
@openshift-ci-robot

Copy link
Copy Markdown

@Tal-or: Jira Issue Verification Checks: Jira Issue OCPBUGS-60936
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-60936 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

What this PR does / why we need it:
When kubeletconfig is changing due to manual user changes, or due to performance profile changes, hccp should catch up and mirror the changes to the hosted cluster.

When setting the kubeletconfig configmap as immutable, the controller failed to update the configmap with the following error: ConfigMap "<config-map-name>" is invalid: data: Forbidden: field is immutable when immutable is set.

Setting the ConfigMap as immutable was redundant because in case of undesired change, hccp will reconcile the ConfigMap and update it to its desired state, so it's safe to remove it.

NOTE: It’s still possible for the ConfigMap on the hosted cluster side to be tampered with, but accepting this small risk is a reasonable trade-off to ensure the system functions correctly.

Which issue(s) this PR fixes
Fixes # OCPBUGS-60936

Checklist

  • Subject and description added to both, commit and PR.
  • Relevant issues have been referenced.

Summary by CodeRabbit

  • New Features

  • Kubelet configuration updates now propagate to hosted clusters without requiring ConfigMap recreation, simplifying updates and day‑2 operations.

  • Bug Fixes

  • Removed an immutability restriction on the hosted KubeletConfig mirror so updates can be applied smoothly during cluster lifecycle, reducing operational friction and update failures.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. area/control-plane-operator Indicates the PR includes changes for the control plane operator - in an OCP release jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants